/* Copyright (c) 2025 Beijing Semidrive Technology Corporation
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/** *****************************************************************************************************
 *  \file     Mcu_Fault.h                                                                               *
 *  \brief    This file contains interface header for Mcu MCAL driver, ...                              *
 *                                                                                                      *
 * <table>                                                                                              *
 * <tr><th>Date           <th>Version                                                                   *
 * <tr><td>2023/09/13     <td>1.0.0                                                                     *
 * </table>                                                                                             *
 *******************************************************************************************************/

#ifndef MCU_FAULT_H
#define MCU_FAULT_H


#ifdef __cplusplus
extern "C" {
#endif

/********************************************************************************************************
 *                                      Include header files                                            *
 *******************************************************************************************************/
#include "Std_Types.h"

/********************************************************************************************************
 *                                 Global Macro definition                                              *
 *******************************************************************************************************/
#if !defined(MCU_FAULT_INJECTION)
/** \brief  FUNCTION:Mcu_EnterCheck() fault injection. */
#define McuHookBegin_Mcu_EnterCheck()
#define McuHookEnd_Mcu_EnterCheck()
/** \brief  FUNCTION:Mcu_Ip_WaitForBitTimes fault injection. */
#define McuHook_Mcu_Ip_WaitForBitTimes()
/** \brief  FUNCTION:Mcu_Ip_SocGetCoreFreq fault injection. */
#define McuHook_Mcu_Ip_SocGetCoreFreq()
#define McuFaultInj_Mcu_Ip_Fs32KTrySwitchToXtal_01()
#define McuFaultInj_Mcu_Ip_Fs32KTrySwitchToXtal_02()
#define McuFaultInj_Mcu_Ip_Fs32KTrySwitchToXtal_03()
#define McuFaultInj_Mcu_Ip_Fs32KTrySwitchToRC_01()
#define McuFaultInj_Mcu_Ip_Fs32KTrySwitchToRC_02()
#define McuFaultInj_Mcu_Ip_Fs32KTrySwitchToRC_03()
#define McuFaultInj_Mcu_Ip_Fs24MTrySwitchToXtal_01()
#define McuFaultInj_Mcu_Ip_Fs24MTrySwitchToRC_01()
#define McuFaultInj_Mcu_Ip_SetVect_01()
#define McuFaultInj_Mcu_Ip_SetVect_02()
#define McuFaultInj_Mcu_Ip_CkgenDrvIpSetRate_01()
#define McuFaultInj_Mcu_Ip_CkgenDrvBusGetRate_01()
#define McuFaultInj_Mcu_Ip_CkgenDrvBusSetRate_01()
#define McuFaultInj_Mcu_Ip_Mcu_Ip_CkgenBusSlicePreMuxNoChange_00()
#define McuFaultInj_Mcu_Ip_Mcu_Ip_CkgenBusSlicePreMuxNoChange_01()
#define McuFaultInj_Mcu_Ip_Mcu_Ip_CkgenBusSlicePreMuxNoChange_02()
#define McuFaultInj_Mcu_Ip_Mcu_Ip_CkgenBusSlicePreMuxNoChange_03()
#define McuFaultInj_Mcu_Ip_CkgenDbgMonGetRate_01()
#define McuFaultInj_Mcu_Ip_Ckgen24MMonGetRate_01()
#define McuFaultInj_Mcu_Ip_Ckgen24MMonGetRate_02()
#define McuFaultInj_Mcu_Ip_Ckgen24MMonGetRate_03()
#define McuFaultInj_Mcu_Ip_CkgenBusMonGetRate_01()
#define McuFaultInj_Mcu_Ip_Mcu_Ip_CkgenIpMonGetRate_01()
#define McuFaultInj_Mcu_Ip_CkgenBusDivRootSetRate_01()
#define McuFaultInj_Mcu_Ip_CkgenBusDivRootSetRate_02()
#define McuFaultInj_Mcu_Ip_CkgenBusRootSetRate_01()
#define McuFaultInj_Mcu_Ip_CkgenBusRootSetRate_02()
#define McuFaultInj_Mcu_Ip_CkgenPllMonEnable_01()
#define McuFaultInj_Mcu_Ip_CkgenXtalMonEnable_01()
#define McuFaultInj_Mcu_Ip_CkgenXtalMonEnable_02()
#define McuFaultInj_Mcu_Ip_CkgenXtalMonEnable_03()
#define McuFaultInj_Mcu_Ip_CkgenSetMonDivNum_01()
#define McuFaultInj_Mcu_Ip_CkgenBusDivMnpqSetRate_01()
#define McuFaultInj_Mcu_Ip_CkgenIpSetMux_01()
#define McuFaultInj_Mcu_Ip_CkgenIpSliceMuxNotClkIn4_01()
#define McuFaultInj_Mcu_Ip_CkgenIpSliceMuxNotClkIn4_02()
#define McuFaultInj_Mcu_Ip_CkgenIpSliceMuxNotClkIn4_03()
#else
#include "Mcu_UserFault.h"
#endif /** #if !defined(MCU_FAULT_INJECTION) */

#ifdef __cplusplus
}
#endif

#endif /* MCU_FAULT_H */
/* End of file */
